import static org.junit.Assert.*;

import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;


public class test2Liczba {

	private Liczba liczba;
	private String expected;
	private String result;
	//This method is executed before each test. 
	//It is used to prepare the test environment (e.g., read input data, initialize the class). 
	@Before 
	public void setUp(){
		System.out.println("Setup for new Test");
	}
	//This method is executed after each test. It is used to cleanup the test environment 
	//(e.g., delete temporary data, restore defaults). 
	//It can also save memory by cleaning up expensive memory structures. 
	@After
	public void tearDown(){
		System.out.println("Cleanup");
		expected ="";
		result = "";
	}

		
	@Test(timeout = 1)
	public void testsystem1() {
		System.out.println("Test1 running.....");
		liczba = new Liczba(10);
		expected = "1010";
		try{
		result = liczba.system(2);
		}
		catch(LiczbaException e){
			System.out.println("Podana baza nie mieści się w zakresie");}
		
		assertEquals(expected,result);
				
	}
	//@Ignore
	@Test(expected=ArithmeticException.class)
	public void testsystem2() {
		System.out.println("Test2 running.....");
		liczba = new Liczba(10);
		expected = 10/0+"";
		try{
		result = liczba.system(30);
		}
		catch(LiczbaException e){
			System.out.println("Podana baza nie mieści się w zakresie");}
		assertEquals(expected,result);   //test zostaje zakonczony pozytywnie jednak jego wynik jest bledny, od miejsca gdzie dzielimy przez zero kod zle dziala
				
	}

}
